﻿#region

using System;

#endregion

namespace BuildMotion.MotionTracker.Common
{
    /// <summary>
    /// Use to define a trackable action.
    /// </summary>
    public class Action
    {
        /// <summary>
        /// Gets or sets the action id.
        /// </summary>
        /// <value>The action id.</value>
        public Guid ActionId { get; set; }

        /// <summary>
        /// Gets or sets the name.
        /// </summary>
        /// <value>The name.</value>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the start date.
        /// </summary>
        /// <value>The start date.</value>
        public DateTime StartDate { get; set; }

        /// <summary>
        /// Gets or sets the end date.
        /// </summary>
        /// <value>The end date.</value>
        public DateTime EndDate { get; set; }

        /// <summary>
        /// Gets or sets the action status.
        /// </summary>
        /// <value>The action status.</value>
        public ActionStatus ActionStatus { get; set; }

        /// <summary>
        /// Gets or sets the category type id.
        /// </summary>
        /// <value>The category type id.</value>
        public Guid CategoryTypeId { get; set; }

        /// <summary>
        /// Gets or sets the date created.
        /// </summary>
        /// <value>The date created.</value>
        public DateTime DateCreated { get; set; }

        /// <summary>
        /// Gets or sets the date modified.
        /// </summary>
        /// <value>The date modified.</value>
        public DateTime DateModified { get; set; }

        /// <summary>
        /// Gets or sets the modified by.
        /// </summary>
        /// <value>The modified by.</value>
        public Guid ModifiedBy { get; set; }

        /// <summary>
        /// Gets or sets the created by.
        /// </summary>
        /// <value>The created by.</value>
        public Guid CreatedBy { get; set; }
    }
}